﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Factorial
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите целое положительное число:");

            string NotParsedNumber = Console.ReadLine();
            decimal parsedNumber = 0;
            try
            {
                parsedNumber = Decimal.Parse(NotParsedNumber);
            }
            catch
            {
                Console.WriteLine("Ошибка ввода");
                Main(null);
            }

            decimal iterations = 1;
            decimal a = 1;
            decimal b = 0;
            
            
            while (iterations <= parsedNumber)
            {
                decimal c = a * (b + 1);
                a = c;
                iterations++;
                b++;

                Console.WriteLine("{0} - {1}", b, c);                 
            }

            Console.WriteLine("Факториал числа {0} равен {1}!", parsedNumber, a);
            Console.WriteLine("Нажмите Enter что бы попробовать еще раз...");
            Console.ReadLine();

            Main(null);
        }
    }
}
